package com.ld.wms.business.material.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ld.wms.business.material.model.MaterialExampleModel;
import com.ld.wms.business.material.vo.req.MaterialExampleReqVo;
import com.ld.wms.business.material.vo.resp.MaterialExampleInventoryRespVo;
import com.ld.wms.business.material.vo.resp.MaterialExampleLikeSearchRespVo;
import com.ld.wms.business.material.vo.resp.MaterialExampleRespVo;
import com.ld.wms.common.vo.GenerateListVo;
import com.ld.wms.common.vo.GeneratePageListVo;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 物料实例表，具体的物料想信息 服务类
 * </p>
 *
 * @author wangfeng
 * @since 2025-02-24
 */
public interface MaterialExampleService extends IService<MaterialExampleModel> {


    GeneratePageListVo<MaterialExampleRespVo> getPageByCondition(Long materialTypeId, String casCode, String name, Integer current, Integer size);

    GenerateListVo<MaterialExampleLikeSearchRespVo> getMaterialExampleLikeSearch(String name);

    MaterialExampleRespVo getDetails(Long id);

    void deleteById(Long id);

    void updateById(MaterialExampleReqVo reqVo);

    MaterialExampleModel add(MaterialExampleReqVo reqVo);

    /**
     * 库存不足数
     * @return
     */
    GeneratePageListVo<MaterialExampleRespVo> getInventoryInsufficientPageList(Integer current, Integer size);
}
